oslog 0.0.3

A minimal safe wrapper around Apple's unified logging system
docs.rs failed to build oslog-0.0.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

A minimal wrapper around Apple's unified logging system.

By default support for the log crate is provided, but you can disable it using the feature flags if you like:

[dependencies]
oslog = { version = "0.0.3", default-features = false }

When making use of targets (info!(target: "t", "m");), you should be aware that a new log is allocated and stored in a map for the lifetime of the program. I expect log allocations are extremely small, but haven't attempted to verify it.

Example

fn main() {
    OsLogger::new("com.example.test", "testing")
        .level_filter(LevelFilter::Debug)
        .init()
        .unwrap();

    // Maps to OS_LOG_TYPE_DEBUG
    trace!(target: "Settings", "Trace");

    // Maps to OS_LOG_TYPE_INFO
    debug!("Debug");

    // Maps to OS_LOG_TYPE_DEFAULT
    info!(target: "Parsing", "Info");

    // Maps to OS_LOG_TYPE_ERROR
    warn!("Warn");

    // Maps to OS_LOG_TYPE_FAULT
    error!("Error");
}

Missing features

  • Activities
  • Tracing
  • Native support for line numbers and file names.